<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>
        var p1={
            name:'Trump',
            age:76,
            gender:'男',
            address:{
                contry:'美国'
            },
            vote:function()
            {
                console.log(this.name+'得了121票');
            }
        }
        var p2=p1
        p2.name='biden'
        console.log('p1==>',p1.name,'p2==>',p2.name);
        //复杂数据类型  赋值会把地址值给p2

        /*
            使用浅拷贝的话就不会改变原来的属性值
        */
        function copy(obj)
        {
            var newobj={};  //空对象
            for(var i in obj)
            {
                newobj[i]=obj[i]
            }
            return newobj
        }
        var p3=copy(p1)
        p3.name='普京'
        p3.address.contry='中国'
        console.log('p1==>',p1.name,'p3==>',p3.name);

        //但是在对象里面创建一个对象，并用浅拷贝还是会改变原来的数据  //需要深拷贝
        console.log('p1==>',p1.address.contry,'p3==>',p3.address.contry);
    </script>
    
</body>
</html>